[2024年9月4日号]個人的に気になったModern Data Stack情報まとめ
さがらです。
Modern Data Stack関連のコンサルタントをしている私ですが、Modern Data Stack界隈は日々多くの情報が発信されております。
そんな多くの情報が発信されている中、この2週間ほどの間で私が気になったModern Data Stack関連の情報を本記事でまとめてみます。
※注意事項:記述している製品のすべての最新情報を網羅しているわけではありません。私の独断と偏見で気になった情報のみ記載しております。
Data Warehouse/Data Lakehouse
Snowflake
Snowflakeのクラスタリングの5バイト制限に関する解説記事
Indigoさんにより、Snowflakeのクラスタリングの5バイト制限に関しての解説記事が出ていました。
Snowflakeのクラスタリングは最初の5バイトだけで行われるため、クラスタリングをかけたいカラムの値にprefixがあると適切にクラスタリングされないためSUBSTRING関数などを用いて抽出した文字列でクラスターキーを設定する必要があるのですが、このSUBSTRING関数などを用いた部分文字列でもなぜクラスタリングの効果があるのか、わかりやすく解説されており勉強になります。
Shareに関する徹底解説記事
@Kevinrobot34さんにより、SnowflakeのShareについてとても詳しく解説された記事が出ていました。
non-secured viewsの共有や、複数DBのデータの共有時のREFERENCE_USAGE権限など、正直私も勉強になる点が多くありがたい記事です。
Snowflake Notebooksを用いたMLのCI/CDパイプライン構築
海外の記事において、Snowflake Notebooksを用いたMLのCI/CDパイプライン構築の方法についてまとめた記事が出ていました。
アーキテクチャの図も書かれており、一連の設定クエリやコマンドも記載されているため参考になると思います。
Snowflakeの仮想ウェアハウスのスケールアップとコストの関係性について
John Ryan氏により、Snowflakeの仮想ウェアハウスのスケールアップとコストの関係性についてまとめた記事が出ていました。
ウェアハウスのサイズを上げたら必ずコストが上昇につながるわけではなく、処理速度も倍早くなっていくことが多いため、処理速度とコストのバランスを見極めて適切なウェアハウスのサイズを選択するのが重要となりますね。
ユーザー・ウェアハウス・クエリタグごとの消費クレジットを簡単に集計できる「QUERY_ATTRIBUTION_HISTORY」ビューがリリース
QUERY_ATTRIBUTION_HISTORYという新しいAccount Usageのビューが使えるようになりました。これを使うことで、ユーザー・ウェアハウス・クエリタグごとの消費クレジットを簡単に集計することが出来ます。
私も本機能について簡単にですがブログを書いてみたので、ぜひご覧ください。
BigQuery
GROUP BYとSELECT DISTINCTがARRAYとSTRUCTにも使えるように
BigQueryの新機能として、GROUP BYとSELECT DISTINCTがARRAYとSTRUCTにも使えるようになりました。
弊社でも記事を書いておりますので、こちらも併せてご覧ください。
Data Transform
dbt
dbt Python model × Snowparkで外部APIのデータを取得する方法
LayerX社のEngineering Blogにおいて、dbt Python modelとSnowparkを用いて外部APIのデータをdbtで取得する方法についてまとめた記事が出ていました。
dbtでデータを取得することについては様々な意見があると思いますが、個人的には技術的に非常に参考になった記事ですし、データロード~データ変換まで管理する専用のオーケストレーションツールの用意が難しい場合には選択肢の1つとして考えられると思います。
dbtのCIにLLMを用いる例
phData社より、dbtのCI時に、dbtのエラーメッセージをSnowflake Cortexに与えて、エラーメッセージの内容とその解決策をプルリクエストのコメントとして出力する記事が出ていました。
発想がユニークで、記事で検証された範囲では使用するLLMをmistral-large
にすると適切な回答もしており、面白いですね!
Data Catalog
Select Star
8月のアップデート内容まとめ
Select Starで8月末に多くのリリースがあり、その内容がリリースノートにまとめられていました。
個人的には、複数のdbt projectにまたがったリネージ作成や、BigQueryのSTRUCT型のカラムに含まれるフィールドのリネージの可視化、各テーブルごとにダウンストリームで使用されているダッシュボードやテーブルがどれだけあるかの確認、といった新機能が気になりました。
OpenMetadata
OpenMetadata 1.5がリリース
OpenMetadataの最新バージョンである1.5がリリースされました。
上述のリリースノートはSaaS版のアップデート内容が混在していますが、OpenMetadataのOSS版に関するアップデート、OpenMetadataのSaaS版に関するアップデート、それぞれ下記のブログでまとめられています。
全体的には、データ品質のテストやダッシュボード関係のアップデートが多い印象です。
- OpenMetadataのOSS版に関するアップデート
- OpenMetadataのSaaS版に関するアップデート
Data Activation (Reverse ETL)
Hightouch
AI Decisioningを発表
Hightouchが新機能として、「AI Decisioning」という機能を発表しました。
下記のブログを見る限りは、Hightouchを用いたマーケティングにおけるセグメンテーションや転送タイミングなどをAIが自動で決定してくれる機能のようです。
Census
GPT Columns、Observability Lake、Sync Trackingを発表
Censusが新機能として、GPT Columns、Observability Lake、Sync Trackingを発表していました。
- GPT Columns:OpenAIのLLMを用いて自然言語でリクエストして新しいカラムを生成する機能
- Observability Lake:同期したデータを別途指定したS3などのストレージに保持しできる機能
- Sync Tracking:過去14日間に同期されたデータを分析できる機能(上述のObservability Lakeを用いることで、保持期限を14日以上にすることも可能)
Data Quality・Data Observability
Monte Carlo
Holidaysを設定して季節性のある異常値を除外できるように
Monte Carloの新機能として、Holidaysを設定して季節性のある異常値を除外できるようになりました。
これにより、Monte Carloの異常検知に用いている機械学習のプロセスで該当日を除外したり、休暇中に不要なアラートを出さないようにする、ということが可能になります。
Great Expectations
Great ExpectationsのOSS版が「GX Core」に名称変更し、1.0をリリース
Great ExpectationsのOSS版が「GX Core」に名称変更し、バージョン1.0をリリースしました。
Data Orchestration
Prefect
Prefect 3.0の一般提供
Prefect 3.0が一般提供となり、Prefect公式からもブログが出ていました。
イベント駆動型のトリガーや、タスクのトランザクション制御、パフォーマンスの向上、といった点が主な特徴となっています。